User Activity Tracking System and Device

ABSTRACT

In an embodiment, a computing device determines sensor signals detected by one or more sensors of the computing device. The sensor signals indicate motion of the computing device. The computing device selects one of a plurality of activity categories that corresponds to a portion of the sensor signals, each of the activity categories including one or more activity types. The activity types in each activity category are characterized by a common motion corresponding to the portion of the sensor signals. One of the activity types in the selected activity category is determined by analyzing the sensor signals with respect to each of the activity types in the selected activity category, and calculating a probability of each of the activity types. The determined activity type is displayed on the computing device.

PRIORITY

This application is a continuation of U.S. patent application Ser. No.13/930,347, filed 28 Jun. 2013, the disclosure of which is incorporatedherein by reference in its entirety.

FIELD

The present disclosure generally relates to tracking, recording andanalyzing user activities, and more specifically to systems, andassociated methods, for tracking, recording and analyzing movements ofat least one mobile communication device of a user. Moreover, aspects ofthe disclosure are also directed to software products recorded onmachine-readable data storage media, wherein such software products areexecutable upon computing hardware, to implement the aforesaid methodsof the disclosure.

BACKGROUND

Tracking devices exist that sense and track user activities, especiallysports activities. An example of a known activity tracking device is awearable wristwatch device which includes a GPS receiver for trackingand analyzing ‘running’ activity of the user. Another example is amobile application that utilizes a GPS system of a respective mobilephone for recording movement of users while they exercise. Anotherexample is step counters used in shoes or attached to user clothes tocollect numbers of steps taken by the users. However, none of the knowntracking devices automatically sense, record, analyze and identify alltypes of user activities such as walking, running, jogging, cycling,rowing, driving with car, moving with bus, moving with train, walkingstairs, running stairs, jumping, swimming, playing football, and skiing.

Nowadays, smart phones are equipped with increasing numbers of sensorssuch as Global Positioning System (GPS) receivers, accelerometers, andproximity sensors, and users of these smart phones may find itinteresting to have mobile applications that can automatically record,sense, analyze, and identify their activities. However, a key challengein automatic tracking of users' movements for purpose of analyzing typesof activity is the classification of activity types. For example,walking vs running activity may have only small difference in respect ofcollected sensor data. Moreover, for the same activity, the sensor datamay vary depending on how the smart phone is carried by the user. Forexample, the smart phone may be carried by the user in hand, or inpocket or in backpack manners.

Hence, there exists a need for an activity tracking solution, thataccurately senses and analyzes all kinds of user activities, and thataddresses limitations of known activity tracking solutions.

SUMMARY

The present disclosure seeks to provide a system for tracking andrecording movements of a mobile communication device and a method of theusing the same.

In one aspect, embodiments of the present disclosure provide a systemfor tracking and recording movements of a mobile communication device,that includes one or more movement sensors and a wireless interface. Thesystem includes a communication network for communicating with themobile communication device and computing hardware for processing datasupplied in operation from the mobile communication device. The mobilecommunication device communicates sensor signals, for example in a formof sensor data, to the system, wherein the sensor signals are indicativeof motion associated with activities to which the mobile communicationdevice is exposed by its user.

The computing hardware executes software products for analysing thesensor signals to pre-classify the sensor signals to generateintermediate data. The intermediate data is thereafter processed in oneor more processors to generate indications of likely activitiesassociated with the sensor signals. The computing hardware furthercomputes an aggregate of the indications to provide an analysis of oneor more activities associated with the sensor signals, and then sendsinformation indicating most likely activity types to the mobilecommunication device.

The processors are configured to process the sensor signalssubstantially in parallel, wherein the processors are mutuallyspecialized in identifying characteristics of the signals correspondingto activities to which the processors are dedicated.

The system generates a temporal log of activities experienced by themobile communication device, and presents the activities on a graphicaluser interface of a user in a timeline format.

The mobile communication device is implemented by way of at least oneof: a portable computer such as laptop, a smartphone, a wrist-wornphone, a phablet, a mobile telephone, a tablet computer, a portablemedia device or any other computing device that can be worn by the userand is capable of processing and displaying data. Further, one or moresensors of the mobile communication device are implemented using atleast one of: a gyroscopic angular sensor, an accelerometer, a GPSposition sensor, cellular positioning sensor, a magnetometer, amicrophone, a camera, a temperature sensor. Term cellular positioningsensor can refer to determining the location and movement of the mobilecommunication device can be derived/analyzed/measured using informationrelated to a cellular network and information related to radio basestations and their signals.

When executed on the computing hardware, the software products areoperable to implement supervised or semisupervised classificationanalysis such as neural networks, decision forest, and support vectormachines of information included in the sensor signals. As input, thesupervised or semisupervised classification algorithms can use, forinstance, the amplitudes of the frequency components of the informationincluded in the one or more sensor signals, and the output of theclassification algorithms are estimated probabilities of differentactivities, conditional on the sensor signals.

In another aspect, the mobile communication device includes a dataprocessor for executing a mobile software application thereat, whereinthe mobile software application is operable when executed to cause agraphical user interface of the mobile communication device to presentanalyzed activity results provided from the computing hardware in a formof a timeline, wherein different analyzed activities are represented bymutually different symbols in respect of the timeline.

In yet another aspect, embodiments of the present disclosure provide amethod of using the system for tracking and recording movements of themobile communication device.

In yet another aspect, embodiments of the present disclosure provide amobile communication device for implementing the system for tracking andrecording movements of the user.

In yet another aspect, embodiments of the present disclosure provide asoftware product recorded on a non-transitory machine-readable datastorage media, such that the software product is executable uponcomputing hardware for implementing the method of using the system fortracking and recording movements of the mobile communication device. Thesoftware product is downloadable from a software application store tothe mobile communication device.

Embodiments of the present disclosure accurately sense, analyze andidentify of user activities by analyzing data collected from one or moresensors of a mobile communication device of a user. The sensor data isprocessed by a set of independent instances of classification algorithmsand each instance is optionally dedicated to identify a specific type ofactivity. The output of the set of classification algorithm instances isaggregated and analyzed to generate most likely user activitiesassociated with the mobile communication device. The identifiedactivities are then displayed on a graphical user interface of themobile communication device in a timeline format.

Alternatively embodiments of the present disclosure accurately sense,analyze and identify of user activities by analyzing data collected fromone or more sensors of a mobile communication device of a user. Thesensor data is processed by a set of parallel processors, wherein theparallel processors are parallel instances of classification algorithmsand each processor is optionally dedicated to identify a specific typeof activity. The output of the set of parallel processors is aggregatedand analyzed to generate most likely user activities associated with themobile communication device. The identified activities are thendisplayed on a graphical user interface of the mobile communicationdevice in a timeline format. In current disclosure parallel processorscan refer to implementation architecture where part of the software isexecuted in different central processing units (i.e. microprocessors)and/or parallel instances of classification algorithms i.e. in parallelsoftware processes. Parallel can refers to calculation processesexecuted substantially at the same time but is not limited to. Executingof instances can take place also one by one or as combination of someprocesses executed substantially same time and some one by one.

Additional aspects, advantages, features and objects of the presentdisclosure would be made apparent from the drawings and the detaileddescription of the illustrative embodiments construed in conjunctionwith the appended claims that follow.

It will be appreciated that features of the invention are susceptible tobeing combined in various combinations without departing from the scopeof the invention as defined by the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The summary above, as well as the following detailed description ofillustrative embodiments, is better understood when read in conjunctionwith the appended drawings. For the purpose of illustrating the presentdisclosure, exemplary constructions of the disclosure are shown in thedrawings. However, the invention is not limited to specific methods andinstrumentalities disclosed herein. Moreover, those in the art willunderstand that the drawings are not to scale. Wherever possible, likeelements have been indicated by identical numbers.

FIG. 1 is an illustration of a high-level architecture of a system thatis suitable for practicing various implementations of the presentdisclosure;

FIG. 2 is an illustration of a graphical user interface (GUI) of themobile communication device, in accordance with the present disclosure;

FIG. 3 is an illustration of an activity analysis system, in accordancewith the present disclosure;

FIG. 4 is an illustration of steps of a method for identifying a‘cycling’ activity of a user, in accordance with an embodiment of thepresent disclosure; and

FIG. 5 is an illustration of steps of using a system for tracking andrecording movements of the mobile communication device, in accordancewith the present disclosure.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

The following detailed description illustrates embodiments of thedisclosure and ways in which it can be implemented. Although the bestmode of carrying out the invention has been disclosed, those in the artwould recognize that other embodiments for carrying out or practicingthe invention are also possible.

The present disclosure provides a system for tracking and recordingmovements of the mobile communication device, wherein the systemincludes one or more movement sensors and a wireless interface. Thesystem includes a communication network for communicating with themobile communication device and computing hardware for processing datasupplied in operation from the mobile communication device. The mobilecommunication device communicates one or more sensor signals, forexample in a digitized format as corresponding sensor data, to thesystem, wherein the sensor signals are indicative of motion associatedwith activities to which the mobile communication device is exposed byits user.

The computing hardware executes one or more software products foranalyzing the sensor signals to pre-classify the sensor signals togenerate intermediate data, and the intermediate data is thereafterprocessed in one or more processors to generate one or more indicationsof likely activities associated with the sensor signals. The computinghardware further computes an aggregate of the indications to provide ananalysis of one or more activities associated with the sensor signals,and sends information indicating most likely activity types to themobile communication device.

Referring now to the drawings, particularly by their reference numbers,FIG. 1 is an illustration of a high-level architecture of a system 100that is suitable for practicing various implementations of the presentdisclosure.

The system 100 includes a mobile communication device 102, and a serversystem 104 coupled in communication to the mobile communication device102 by way of a communication network 106. The mobile communicationdevice 102 is a handheld device of a user, and examples of the mobilecommunication device 102, include, but are not limited to, smart phone,wrist-worn phone, phablet, mobile telephone, tablet computer executingoperating systems such as Android, Windows, and iOS. The server system104 includes a computing hardware that executes one or more softwareproducts for processing data supplied in operation from the mobilecommunication device 102. The server system 104 can be arranged as cloudservice or as dedicated servers located in single or distributed sites.Further, examples of the communication network 106 include, but are notlimited to, telecommunication network, and WiFi.

The mobile communication device 102 includes one or more sensors 108 andone or more positioning systems 110 to determine the position, movement,acceleration and/or environment of the mobile communication device 102,when corresponding user performs one or activities while carrying thedevice 102. Examples of activities, include, but are not limited to,walking, running, jogging, cycling, rowing, driving a car, moving withbus, moving with train, walking stairs, running stairs, jumping,swimming, playing football, and skiing. An example of the sensor 108includes a motion sensor configured to measure the acceleration of themobile communication device 102 in xyz-directions of the Cartesianco-ordinate system. Further examples of the sensor 108 include agyroscopic angular sensor, a magnetometer, a microphone, a camera, and atemperature sensor. The positioning systems 110 are configured todetermine the position of the mobile communication device 102 byimplementing at least one of GPS positioning system, cell towerinformation for cellular networks, indoor positioning systems, WIFIfingerprinting and proximal WiFi networks. In an embodiment of thepresent invention, the mobile communication device 102 may periodicallysend the information collected by the sensors 108 and the positioningsystems 110 to the server system 104 over the communication network 106.

The server system 104 includes a receiving module 112, a firstprocessing module 114, a second processing module 116, and an outputmodule 118. The receiving module 112 receives sensor and positioningdata from the mobile communication device 102. The first processingmodule 114 executes a first process to analyze sensor data collectedfrom the sensors 108, and the second processing module 116 executes asecond process to analyze positioning data collected from thepositioning systems 110. In an embodiment of the present disclosure, thefirst and second processes are parallel processes that might communicatewith each other and also exchange data for analysis purposes. Based onthe sensor data, the first processing module 114 generates an activitytype of the user, and based on the positioning data, the secondprocessing module 116 generates location and movement informationpertaining to the activity. The output module 118 processes the activitytype information and movement/location information of the activity togenerate a summary/schedule of activities of the user. The output module118 then sends the summary of activities to the mobile communicationdevice 102 over the communication network 106.

The mobile communication device 102 includes a data processor (notshown) for executing a mobile software application thereat, wherein themobile software application is operable to cause a graphical userinterface (GUI) of the mobile communication device to present summary ofactivities provided from the server system 104 in a timeline format. Theuser may send their positive/negative feedback on the summary ofactivities to the server system 104 and the server system 104 mayreceive, store and implement the feedback for improving their activityanalysis.

In an embodiment of the present invention, some or all of thesteps/analysis in the server system 104 may be implemented in the mobilecommunication device 102 based on the computing resources available inthe mobile communication device 102.

FIG. 1 is merely an example, which should not unduly limit the scope ofthe claims herein. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications of embodiments herein.

FIG. 2 is an illustration of a graphical user interface (GUI) 202 of amobile communication device 200, which is an example of the mobilecommunication device 102, and has been explained in conjunction withFIG. 1. The GUI 202 displays a time-line 204 that is divided into‘activity’ zones/periods 206 a, 206 b, 206 c, 206 d and 206 e,hereinafter collectively referred to as activity zones 206, based onstart and end times of one or more activities. Each activity zone 206illustrates an activity and corresponding location of the activity.Moreover, each activity zone 206 may be illustrated by a graphicalsymbol 208 or a text description 210 of the corresponding activity.

In an exemplary embodiment, the timeline 204 indicates that at a time13:00 pm, a ‘cycling’ activity of the user ends and he/she is stationedat a ‘workplace’ until a time 17:10 pm; at the time 17:10 pm, the userstarts a ‘walking’ activity towards home; at a time 17:30 pm, the userreaches home and is at home until a time 18:30 pm; at the time 18:30 pm,the user starts a ‘driving’ activity.

FIG. 2 is merely an example, which should not unduly limit the scope ofthe claims herein. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications of embodiments herein.

FIG. 3 is an illustration of an activity analysis system 300, explainedin conjunction with FIG. 1, in accordance with the present disclosure.The activity analysis system 300 identify user activities based onsensor and positioning data of corresponding mobile communicationdevice, and history, profile, demographics, and activity type of user.

In an embodiment of the present invention, the activity analysis system300 may be present inside a remote server system 104. In anotherembodiment of the present invention, the activity analysis system 300may be present, at least in part, inside the mobile communication device102 itself.

The activity analysis system 300 includes a receiving module 302, apre-processing module 304, a pre-classification module 306, a firstthrough nth classifier nodes 308 a till 308 n, hereinafter referred toas classifier nodes 308, an activity determination module 310, and anoutput module 312. The receiving module 302 collects raw data, i.e.unprocessed data from the sensors 108 and positioning systems 110 of themobile communication device 102. The pre-processing module 304pre-processes the raw data collected by the receiving module 302.Examples of pre-processing the data include, but are not limited to,filtering the data, performing domain transitions such as time tofrequency domain conversion using Fast Fourier Transformation (FFT),classifying the data, averaging the data and combining the data,performing correlations with one or more pre-determined data setsrepresentative of various types of user activities.

The pre-classification module 306 receives the pre-processed data fromthe pre-processing module 304 and pre-classifies it into one or morebroad categories. For example, the sensor data received from a motionsensor of the mobile communication device 102 is compared with apredetermined speed value to differentiate between slow motion, i.e.walking and running stairs, and fast motion i.e. running and cycling,and classify the motion data into broad categories such as ‘slow motion’and ‘fast motion’. In an embodiment, the pre-classification module 306includes rule sets and/or predefined deterministic algorithms forpre-classifying the pre-processed data.

Each classifier node 308 includes a processor that is dedicated toidentifying characteristics of the sensor data corresponding to apredefined activity. For example, the first classifier node N1 308 a maybe specialized in identifying characteristics of the sensor datapertaining to ‘cycling’ activity, the second classifier node N2 308 bmay be specialized in identifying ‘walking activity’, the thirdclassifier node N3 308 c may be specialized in identifying ‘running’activity, and so on.

The classifier nodes 308 are configured to process the pre-classifieddata substantially in parallel, where each classifier node 308 generatesa likelihood of the corresponding predefined activity for thepre-classified data. In an exemplary embodiment, the first classifiernode N1 308 a dedicated to identification of ‘cycling’ activity maygenerate a probability value ‘1’, the second classifier node N2 308 bmay generate a probability value ‘0.3’ and the third classifier node N3308 c may generate a probability value ‘0.8’, when the user performs a‘cycling’ activity.

The activity determination module 310 may aggregate the probabilityvalues generated by the classifier nodes 308 to determine an ‘activitytype’ corresponding to the sensor and positioning data collected by thereceiving module 302. In addition to aggregating the probabilities ofthe classifier nodes 308, the activity determination module 310 mayemploy deterministic rules such as transition windows to determine the‘activity type’. The transition window may set inertia to activities inorder not to toggle activities too often. For example, it is unlikelythat an activity type would change from ‘cycling’ to ‘walking’ and backto ‘cycling’ very fast. The deterministic rules such as transitionwindows may be implemented using models such as hidden Markov models(HMM) and more complex models based on HMMs.

The output module 312 provides one or more ‘activity types’ determinedby the activity determination module 310 to the mobile communicationdevice 102. In an embodiment, the output module 312 may display thedetermined activity types on a graphical user interface (GUI) of themobile communication device 102 in a timeline format.

FIG. 3 is merely an example, which should not unduly limit the scope ofthe claims herein. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications of embodiments herein.

FIG. 4 is an illustration of steps of a method for identifying a‘cycling’ activity of a user based on the sensor and positioning data ofthe corresponding mobile communication device, in accordance with anembodiment of the present disclosure.

In an embodiment of the present invention, the steps of the method foridentifying the ‘cycling’ activity of a user may be executed by theactivity analysis system 300 of FIG. 3. The activity analysis system 300may be present inside a remote server system 104 or may be present, atleast in part, inside the mobile communication device 102 of useritself.

At a step 400, a set of acceleration data is received from anaccelerometer sensor of the mobile communication device 102. The set ofacceleration data is in raw format, i.e. unprocessed, and may becollected every 30 seconds by the accelerometer sensor. In an exemplaryembodiment, the set of acceleration data has a duration of 3 seconds andincludes acceleration samples collected every 1120 seconds. Thus, each 3second data set includes total 60 acceleration samples and eachacceleration sample includes acceleration of the mobile communicationdevice 102 in x, y, and z directions, in a coordinate system orientedwith the mobile communication device 102. Thus, each acceleration sampleincludes three values and the three second data set includes total 180(3×60) values.

At a step 401, a set of location data is received from a positioningsystem of the mobile communication device 102. The positioning data mayinclude timestamps, location coordinates, and estimated horizontalaccuracy from mobile location services. In an exemplary embodiment, thelocation data is received at intervals ranging from few seconds to fewminutes.

At a step 402, the set of acceleration data undergoes gravitytransformation, in which, for each acceleration sample, a newtransformed sample is calculated, where corresponding z-component isoriented along a mean value of the acceleration vector. In anotherembodiment, the set of acceleration data may undergo a principalcomponent analysis (PCA) transformation, in which, for each accelerationsample, a new transformed sample is calculated, where correspondingz-coordinate remains same, but the corresponding x and y components aretransformed so that they are oriented along the principal components ofthe acceleration sample, when only x and y components are included.

At a step 404, the location data may be pre-processed, where examples ofpre-processing the data includes, but are not limited to, filtering thedata, performing domain transitions such as time to frequency domainconversion using Fast Fourier Transformation (FFT), classifying thedata, averaging the data, performing one or more correlations on thedata, and combining the data. At a step 406, a coarse speed of themobile communication device 102 may be estimated based on thepre-processed location data. For example, the coarse speed may beestimated based on distance between consecutive location co-ordinatesand time difference between the consecutive location co-ordinates.

At a step 408, one or more features of sensor and location data areestimated based on the transformed acceleration samples and theestimated course speed, where each ‘feature’ has a numeric value.Examples of features include means, variances, minimums and maximums foreach of the (x, y, z) components of the transformed accelerationsamples, components of Fourier transformed versions of the x, y, or zcomponents of the acceleration sample, and so forth.

The user activity corresponding to data obtained at the step 408 may berecognized based on a first classification at a step 410 using a firstclassifier and a second classification at a step 412 using a secondclassifier. In an embodiment, the first and second classifiers may besimilar to classifier nodes 308 of FIG. 3. Although two classifiers areillustrated herein, it would be apparent to a person skilled in the art,that more than two classifiers can be used for recognizing the useractivity.

The first and second classifiers at the steps 410 and 412 use standardsupervised classification algorithms such as neural network, decisionforest or support vector machine for classification. The firstclassifier is a binary classifier that is trained on a large trainingdata set with training samples classified as ‘cycling’ or ‘non-cycling’,and generates an activity label ‘cycling’ or ‘non-cycling’ for the datasample obtained at the step 408. The second classifier is a multiclassclassifier that is trained on a smaller set of more accurately labeleddata, and generates an activity label from one of ‘cycling’, ‘running’,‘car’, ‘train’, ‘walking’ and ‘other’ for the data sample obtained atthe step 408.

In an embodiment, the user activity is recognized as ‘cycling’ if boththe first and second classifiers generate activity label as ‘cycling’for the data sample obtained at the step 408. In another embodiment, theuser activity is recognized based on the activity label generated by thesecond classifier when the first classifier generates an activity labelas ‘not cycling’. In yet another embodiment, the user activity isrecognized as ‘other’, when the first classifier generates an activitylabel as ‘not cycling’ and the second classifier generates an activitylabel as ‘cycling’. In yet another embodiment, the first classifier maygenerate a probability that the user activity is ‘not cycling’. When theprobability of ‘not cycling’ is high, then other classifier resultsindicating ‘cycling’ as activity might be omitted.

At a step 413, the step counts of the user are calculated, and at a step414, a meta-classifier utilizes the step count data and the datagenerated by the first and second classifiers to combine activitiesrecognized at the steps 410 and 412 to form one or more activityperiods. In an embodiment, when there are N consecutive accelerationsamples, such that 1st and last of them are labeled with a givenactivity, and the majority (or at least x % of them) belong to thatactivity, the whole period of N consecutive samples is identified as anactivity period.

At a step 416, one or more activity periods may be associated withrespective locations based on location data and Bayesian ‘interactivemultiple models’ smoothing algorithm. At a step 418, one or morestationary segments may be recognized based on the location data, whenthe mobile communication device 102 is stationary and no activity isperformed therein.

At a step 420, final activity heuristics-type analysis takes place basedon the processed location and acceleration data. The heuristics arerules, and an example of a rule is: if a stationary segment recognizedat the step 418 has a period of no recognized activity shorter than xseconds, and the neighboring activity periods have a duration greaterthan y seconds, the stationary segment is replaced with an activityperiod labeling it with the neighboring activity/activities. Forexample, if in a 10 minutes cycling activity, the user appears to havestopped for 1 minute in between, then the 1 minute stationary segment isignored, and the whole 10 minutes are associated with cycling activity.Moreover, if in a 10 minutes period, there are consecutive cycling andtransport activities, and there is no stopping of at least n minutes inbetween and no walking activity, then the whole 10 minutes period islabeled with the activity that has happened for majority of the time.However, if there is at least one detected walking sample betweentransport and cycling activities, then the cycling and transportactivities form two different activity periods.

At a step 422, distance and step calculations are performed, and at astep 424 place matching is performed to optimize the accuracy of useractivities recognized at the step 420. Finally, at a step 426, astoryline is created which includes various user activities in atimeline format.

FIG. 4 is merely an example, which should not unduly limit the scope ofthe claims herein. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications of embodiments herein.

FIG. 5 is an illustration of steps of using the system 100 for trackingand recording movements of the mobile communication device 102, inaccordance with the present disclosure, and has been explained inconjunction with FIGS. 1 and 2. The method is depicted as a collectionof steps in a logical flow diagram, which represents a sequence of stepsthat can be implemented in hardware, software, or a combination thereof.

At a step 502, the mobile communication device 102 is operable tocommunicate one or more sensor signals, or sensor data correspondingthereto, to the server system 104, wherein the sensor signals areindicative of motion associated with activities to which the mobilecommunication device 102 is exposed by its user. The sensor signals, orthe corresponding sensor data, are outputs of one or more sensors of themobile communication device 102.

At a step 504, the computing hardware of the server system 104 isoperable to execute one or more software products for analysing thesensor signals and corresponding sensor data, wherein the computinghardware is operable to pre-classify the sensor signals to generateintermediate data, and the intermediate data is thereafter processed inone or more processors to generate one or more indications of likelyactivities associated with the sensor signals. The computing hardware isfurther operable to compute an aggregate of the one or more indicationsto provide an analysis of activities associated with the sensor signals.

At a step 506, the computing hardware is operable to send informationindicating most likely activity types associated with the one or moretemporal zones to the mobile communication device 102.

It should be noted here that the steps 502 to 506 are only illustrativeand other alternatives can also be provided where one or more steps areadded, one or more steps are removed, or one or more steps are providedin a different sequence without departing from the scope of the claimsherein.

Although embodiments of the present invention have been describedcomprehensively in the foregoing, in considerable detail to elucidatethe possible aspects, those skilled in the art would recognize thatother versions of the invention are also possible. Embodiments of thepresent invention are susceptible to being employed for monitoringprisoners in prisons, for monitoring patients in home for elderlypeople, in hospitals and such like.

What is claimed is:
 1. A method comprising: by a computing device,determining one or more sensor signals detected by one or more sensorsof the computing device, the sensor signals being indicative of motionof the computing device; by the computing device, selecting one of aplurality of activity categories that corresponds to a portion of thesensor signals, wherein each of the activity categories comprises one ormore activity types and is characterized by a motion that the activitytypes in the selected activity category have in common; by the computingdevice, determining one of the activity types in the selected activitycategory by: analyzing the sensor signals with respect to each of theactivity types in the selected activity category; and calculating aprobability of each of the activity types based on the analysis; and bythe computing device, displaying the determined activity type on adisplay of the computing device.
 2. The method of claim 1, wherein thesensor signals are analyzed substantially in parallel by one or moreprocessors of the computing device, each of the processors beingspecialized in identifying characteristics of the sensor signalscorresponding to a predefined activity type.
 3. The method of claim 1,wherein determining the activity types comprises generating a temporallog of activity types experienced by the mobile device.
 4. The method ofclaim 1, wherein the sensor signals further comprise an estimated speedof the computing device based on location data of the computing device.5. The method of claim 1, wherein the one or more sensors comprise agyroscopic angular sensor, an accelerometer, a GPS position sensor, acellular positioning sensor, a magnetometer, a microphone, a camera, ora temperature sensor.
 6. The method of claim 1, wherein the analysis ofthe sensor signals comprises: a supervised or semisupervisedclassification analysis; or a heuristic analysis.
 7. The method of claim6, wherein the supervised or semisupervised classification analysiscomprises classification algorithms that use as input the amplitudes ofthe frequency components of the information included in the sensorsignals, and the output of the classification algorithms are estimatedprobabilities of different activity types based at least in part on thesensor signals.
 8. The method of claim 1, wherein displaying thedetermined activity type comprises displaying analyzed activity resultson a graphical user interface of a software application of the computingdevice, wherein the displayed analyzed activity results comprise atimeline comprising a plurality of mutually different symbolsrepresenting different activity types.
 9. A system comprising: one ormore processors; a display; one or more sensors; and a memory coupled tothe processors comprising instructions executable by the processors, theprocessors being operable when executing the instructions to: determineone or more sensor signals detected by the one or more sensors, thesensor signals being indicative of motion of the system; select one of aplurality of activity categories that corresponds to a portion of thesensor signals, wherein each of the activity categories comprises one ormore activity types and is characterized by a motion that the activitytypes in the selected activity category have in common; determine one ofthe activity types in the selected activity category by: analyzing thesensor signals with respect to each of the activity types in theselected activity category; and calculating a probability of each of theactivity types based on the analysis; and display the determinedactivity type on the display.
 10. The system of claim 9, wherein thesensor signals are analyzed substantially in parallel by one or moreprocessors of the computing device, each of the processors beingspecialized in identifying characteristics of the sensor signalscorresponding to a predefined activity type.
 11. The system of claim 9,wherein determining the activity type comprises generating a temporallog of activity types experienced by the mobile device.
 12. The systemof claim 9, wherein the sensor signals further comprise an estimatedspeed of the computing device based on location data of the computingdevice.
 13. The system of claim 9, wherein the one or more sensorscomprise a gyroscopic angular sensor, an accelerometer, a GPS positionsensor, a cellular positioning sensor, a magnetometer, a microphone, acamera, or a temperature sensor.
 14. The system of claim 9, wherein theanalysis of the sensor signals comprises: a supervised or semisupervisedclassification analysis; or a heuristic analysis.
 15. The system ofclaim 14, wherein the supervised or semisupervised classificationanalysis comprises classification algorithms that use as input theamplitudes of the frequency components of the information included inthe sensor signals, and the output of the classification algorithms areestimated probabilities of different activity types based at least inpart on the sensor signals.
 16. The system of claim 9, whereindisplaying the activity type comprises sending analyzed activity resultsto the mobile device for display on a graphical user interface of asoftware application of the mobile device, wherein the displayedanalyzed activity results comprise a timeline comprising a plurality ofmutually different symbols representing different activity types. 17.One or more computer-readable non-transitory storage media embodyingsoftware that is operable when executed to: determine one or more sensorsignals detected by one or more sensors of a computing device, thesensor signals being indicative of motion of the computing device;select one of a plurality of activity categories that corresponds to aportion of the sensor signals, wherein each of the activity categoriescomprises one or more activity types and is characterized by a motionthat the activity types in the selected activity category have incommon; determine one of the activity types in the selected activitycategory by: analyzing the sensor signals with respect to each of theactivity types in the selected activity category; and calculating aprobability of each of the activity types based on the analysis; anddisplay the activity type on a display of the computing device.
 18. Themedia of claim 17, wherein the sensor signals are analyzed substantiallyin parallel by one or more processors of the computing device, each ofthe processors being specialized in identifying characteristics of thesensor signals corresponding to a predefined activity type.
 19. Themedia of claim 17, wherein the analysis of the sensor signals comprises:a supervised or semisupervised classification analysis; or a heuristicanalysis.
 20. The media of claim 19, wherein the supervised orsemisupervised classification analysis comprises classificationalgorithms that use as input the amplitudes of the frequency componentsof the information included in the sensor signals, and the output of theclassification algorithms are estimated probabilities of differentactivity types based at least in part on the sensor signals.